<!DOCTYPE html>
<html lang="en" xmlns:x-transition="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <meta content="IE=edge" http-equiv="X-UA-Compatible">
    <meta content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
          name="viewport">
    <title>hoppinzq-登录</title>
    <script src="static/js/console-ban.min.js"></script>
    <link href="https://hoppinzq.com/zui/static/favicon/favicon.ico" rel="icon" type="image/png">
    <link href="static/css/app.css" rel="stylesheet">
    <script defer="" src="https://hoppinzq.com/api/static/js/app.js"></script>
    <link href="static/css/css2.css" rel="stylesheet">
    <link href="https://hoppinzq.com/zui/static/css/font-awesome.css" rel="stylesheet">
    <link href="static/css/slidercaptcha.css" rel="stylesheet">
    <script>localStorage.getItem("_x_darkMode_on") === "true" && document.documentElement.classList.add("dark");</script>
</head>
<style>
    .model-loader {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, .5);
        border-radius: 5px;
        z-index: 5;
        display: none;
    }

    i.flipped {
        transform: rotate(180deg);
    }
</style>
<body class="is-header-blur" x-bind="$store.global.documentBody" x-data="">
<div class="app-preloader fixed z-50 grid h-full w-full place-content-center bg-slate-50 dark:bg-navy-900">
    <div class="app-preloader-inner relative inline-block h-48 w-48"></div>
</div>
<div class="min-h-100vh flex grow bg-slate-50 dark:bg-navy-900" id="root" x-cloak="">
    <main class="grid w-full grow grid-cols-1 place-items-center">
        <div class="w-full max-w-lg p-4 sm:px-5">
            <div class="text-center">
                <img alt="logo"
                     class="mx-auto h-10 w-10 transition-transform duration-500 ease-in-out hover:rotate-[360deg]" src="static/image/hoppinzq_dignitas1.jpeg" style="cursor: pointer">
                <div class="mt-2">
                    <h2 class="text-2xl font-semibold text-slate-600 dark:text-navy-100">
                        欢迎登录
                    </h2>
                    <p class="text-slate-400 dark:text-navy-300">
                        未注册的手机号登录，将会创建一个账号
                    </p>
                </div>
            </div>
            <div class="model-loader">
                <div class="flex items-center justify-center h-100">
                    <div class="flex gap-2">
                        <div class="spinner h-5 w-5 animate-spin rounded-full border-2 border-slate-150 border-r-slate-400 dark:border-navy-500 dark:border-r-navy-300"></div>
                    </div>
                </div>
            </div>
            <div class="card mt-6 rounded-lg p-5 lg:p-7">
                <label class="mt-2 block">
                    <span>手机号:</span>
                    <div class="relative mt-1.5 flex">
                        <input class="form-input form-input-mobile peer w-full rounded-lg border border-slate-300 bg-transparent px-3 py-2 pl-9 placeholder:text-slate-400/70 hover:z-10 hover:border-slate-400 focus:z-10 focus:border-primary dark:border-navy-450 dark:hover:border-navy-400 dark:focus:border-accent"
                               placeholder="输入手机号"
                               type="text"
                        />
                        <span class="pointer-events-none absolute flex h-full w-10 items-center justify-center text-slate-400 peer-focus:text-primary dark:text-navy-300 dark:peer-focus:text-accent">
                            <i class="fa fa-phone"></i>
                        </span>
                        <button class="btn btn-login-send-message ml-1 bg-slate-150 font-medium text-slate-800 hover:bg-slate-200 focus:bg-slate-200 active:bg-slate-200/80 dark:bg-navy-500 dark:text-navy-50 dark:hover:bg-navy-450 dark:focus:bg-navy-450 dark:active:bg-navy-450/90"
                                style="width: 165px;">
                            <!--                            <i class="fa fa-solid fa-hourglass-start" id="startIcon" style="margin-right: 5px;transition: transform 0.5s;"></i>-->
                            发送短信
                        </button>
                    </div>
                </label>
                <label class="mt-4 block">
                    <span>短信验证码:</span>
                    <span class="relative mt-1.5 flex">
                        <input class="form-input form-input-code peer w-full rounded-lg border border-slate-300 bg-transparent px-3 py-2 pl-9 placeholder:text-slate-400/70 hover:z-10 hover:border-slate-400 focus:z-10 focus:border-primary dark:border-navy-450 dark:hover:border-navy-400 dark:focus:border-accent"
                               placeholder="输入短信验证码" type="text">
                        <span class="pointer-events-none absolute flex h-full w-10 items-center justify-center text-slate-400 peer-focus:text-primary dark:text-navy-300 dark:peer-focus:text-accent">
                            <svg class="h-5 w-5 transition-colors duration-200" fill="none"
                                 stroke="currentColor" viewbox="0 0 24 24"
                                 xmlns="http://www.w3.org/2000/svg">
                            <path d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z" stroke-linecap="round" stroke-linejoin="round"
                                  stroke-width="1.5"></path>
                            </svg>
                        </span>
                    </span>
                </label>
                <div class="mt-4 flex items-center justify-between space-x-2">
                    <label class="inline-flex items-center space-x-2">
                        <input class="form-checkbox form-checkbox-remember-mobile is-basic h-5 w-5 rounded border-slate-400/70 checked:border-primary checked:bg-primary hover:border-primary focus:border-primary dark:border-navy-400 dark:checked:border-accent dark:checked:bg-accent dark:hover:border-accent dark:focus:border-accent"
                               type="checkbox">
                        <span class="line-clamp-1">记住手机号</span>
                    </label>
                    <div
                            @click.outside="isShowPopper && (isShowPopper = false)"
                            class="flex"
                            x-data="usePopper({
                                       offset: 12,
                                       placement: 'top-start',
                                       modifiers: [
                                          {name: 'flip', options: {fallbackPlacements: ['bottom','top']}},
                                          {name: 'preventOverflow', options: {padding: 10}}
                                       ]
                                    })"
                    >
                        <a @click="isShowPopper = !isShowPopper"
                           class="text-xs text-slate-400 transition-colors line-clamp-1 hover:text-slate-800 focus:text-slate-800 dark:text-navy-300 dark:hover:text-navy-100 dark:focus:text-navy-100"
                           href="#"
                           x-ref="popperRef">
                            忘记密码？
                        </a>
                        <div :class="isShowPopper && 'show'" class="popper-root" x-ref="popperRoot">
                            <div class="popper-box max-w-xs">
                                <div
                                        class="rounded-md border border-slate-150 bg-white p-4 dark:border-navy-600 dark:bg-navy-700"
                                >
                                    <p class="text-xs text-slate-400 dark:text-navy-300">
                                        话说...有密码吗？
                                    </p>
                                </div>
                                <div class="h-4 w-4" data-popper-arrow>
                                    <svg
                                            class="absolute h-4 w-4"
                                            fill="currentColor"
                                            viewBox="0 0 16 9"
                                            xmlns="http://www.w3.org/2000/svg"
                                    >
                                        <path
                                                class="text-slate-150 dark:text-navy-600"
                                                d="M1.5 8.357s-.48.624 2.754-4.779C5.583 1.35 6.796.01 8 0c1.204-.009 2.417 1.33 3.76 3.578 3.253 5.43 2.74 4.78 2.74 4.78h-13z"
                                        />
                                        <path
                                                class="text-white dark:text-navy-700"
                                                d="M0 9s1.796-.017 4.67-4.648C5.853 2.442 6.93 1.293 8 1.286c1.07-.008 2.147 1.14 3.343 3.066C14.233 9.006 15.999 9 15.999 9H0z"
                                        />
                                    </svg>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <button class="btn btn-login mt-4 w-full bg-primary font-medium text-white hover:bg-primary-focus focus:bg-primary-focus active:bg-primary-focus/90 dark:bg-accent dark:hover:bg-accent-focus dark:focus:bg-accent-focus dark:active:bg-accent/90">
                    登录
                </button>
                <div class="mt-4 text-center text-xs+">
                    <div
                            @click.outside="isShowPopper && (isShowPopper = false)"
                            class="flex"
                            x-data="usePopper({
                                       offset: 12,
                                       placement: 'top-start',
                                       modifiers: [
                                          {name: 'flip', options: {fallbackPlacements: ['bottom','top']}},
                                          {name: 'preventOverflow', options: {padding: 10}}
                                       ]
                                    })"
                    >
                        <p class="line-clamp-1">
                            <span>没有账号？</span>
                            <a @click="isShowPopper = !isShowPopper"
                               class="text-primary transition-colors hover:text-primary-focus dark:text-accent-light dark:hover:text-accent"
                               href="#"
                               x-ref="popperRef">注册一个！</a>
                        </p>
                        <div :class="isShowPopper && 'show'" class="popper-root" x-ref="popperRoot">
                            <div class="popper-box max-w-xs">
                                <div
                                        class="rounded-md border border-slate-150 bg-white p-4 dark:border-navy-600 dark:bg-navy-700"
                                >
                                    <h3
                                            class="text-base font-medium tracking-wide text-slate-700 line-clamp-1 dark:text-navy-100"
                                    >
                                        你无需注册
                                    </h3>
                                    <p class="mt-3 text-xs text-slate-400 dark:text-navy-300">
                                        未注册的手机号在登录时会直接作为你的账号。
                                    </p>
                                </div>
                                <div class="h-4 w-4" data-popper-arrow>
                                    <svg
                                            class="absolute h-4 w-4"
                                            fill="currentColor"
                                            viewBox="0 0 16 9"
                                            xmlns="http://www.w3.org/2000/svg"
                                    >
                                        <path
                                                class="text-slate-150 dark:text-navy-600"
                                                d="M1.5 8.357s-.48.624 2.754-4.779C5.583 1.35 6.796.01 8 0c1.204-.009 2.417 1.33 3.76 3.578 3.253 5.43 2.74 4.78 2.74 4.78h-13z"
                                        />
                                        <path
                                                class="text-white dark:text-navy-700"
                                                d="M0 9s1.796-.017 4.67-4.648C5.853 2.442 6.93 1.293 8 1.286c1.07-.008 2.147 1.14 3.343 3.066C14.233 9.006 15.999 9 15.999 9H0z"
                                        />
                                    </svg>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="my-5 flex items-center space-x-3">
                    <div class="h-px flex-1 bg-slate-200 dark:bg-navy-500"></div>
                    <p>或以下方式登录</p>
                    <div class="h-px flex-1 bg-slate-200 dark:bg-navy-500"></div>
                </div>
                <div class="grid grid-cols-5 gap-4 sm:grid-cols-5">
                    <a class="btn h-9 w-9 border border-primary p-0 font-medium text-primary hover:bg-primary hover:text-white focus:bg-primary focus:text-white active:bg-primary/90 dark:border-accent dark:text-accent-light dark:hover:bg-accent dark:hover:text-white dark:focus:bg-accent dark:focus:text-white dark:active:bg-accent/90"
                       href="https://gitee.com/oauth/authorize?client_id=8d45e1ae35e4138f410ea147d411abcb03821ff3df0ad18fd7727df8fc03f6c2&redirect_uri=http%3A%2F%2F175.178.115.82%3A8812%2Foauth2%2Fgitee%3Ftype%3Dgitee&response_type=code"
                       id="auth_gitee"
                       title="码云">
                        <i class="fa fa-github fa-solid"></i>
                    </a>
                    <div
                            @click.outside="isShowPopper && (isShowPopper = false)"
                            class="flex"
                            x-data="usePopper({
                                       offset: 12,
                                       placement: 'top-start',
                                       modifiers: [
                                          {name: 'flip', options: {fallbackPlacements: ['bottom','top']}},
                                          {name: 'preventOverflow', options: {padding: 10}}
                                       ]
                                    })"
                    >
                        <button @click="isShowPopper = !isShowPopper"
                                class="btn h-9 w-9 border border-success/30 bg-success/10 p-0 font-medium text-success hover:bg-success/20 hover:shadow-lg hover:shadow-success/50 focus:bg-success/20 focus:shadow-lg focus:shadow-success/50 active:bg-success/25"
                                title="微信"
                                x-ref="popperRef"
                        >
                            <i class="fa-solid fa fa-weixin"></i>
                        </button>
                        <div :class="isShowPopper && 'show'" class="popper-root" x-ref="popperRoot">
                            <div class="popper-box max-w-xs">
                                <div
                                        class="rounded-md border border-slate-150 bg-white p-4 dark:border-navy-600 dark:bg-navy-700"
                                >
                                    <h3
                                            class="text-base font-medium tracking-wide text-slate-700 line-clamp-1 dark:text-navy-100"
                                    >
                                        目前不支持微信
                                    </h3>
                                    <p class="mt-3 text-xs text-slate-400 dark:text-navy-300">
                                        请通过其他第三方认证授权登录
                                    </p>
                                </div>
                                <div class="h-4 w-4" data-popper-arrow>
                                    <svg
                                            class="absolute h-4 w-4"
                                            fill="currentColor"
                                            viewBox="0 0 16 9"
                                            xmlns="http://www.w3.org/2000/svg"
                                    >
                                        <path
                                                class="text-slate-150 dark:text-navy-600"
                                                d="M1.5 8.357s-.48.624 2.754-4.779C5.583 1.35 6.796.01 8 0c1.204-.009 2.417 1.33 3.76 3.578 3.253 5.43 2.74 4.78 2.74 4.78h-13z"
                                        />
                                        <path
                                                class="text-white dark:text-navy-700"
                                                d="M0 9s1.796-.017 4.67-4.648C5.853 2.442 6.93 1.293 8 1.286c1.07-.008 2.147 1.14 3.343 3.066C14.233 9.006 15.999 9 15.999 9H0z"
                                        />
                                    </svg>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div
                            @click.outside="isShowPopper && (isShowPopper = false)"
                            class="flex"
                            x-data="usePopper({
                                       offset: 12,
                                       placement: 'top-start',
                                       modifiers: [
                                          {name: 'flip', options: {fallbackPlacements: ['bottom','top']}},
                                          {name: 'preventOverflow', options: {padding: 10}}
                                       ]
                                    })"
                    >
                        <button @click="isShowPopper = !isShowPopper"
                                class="btn btn-wyy-login h-9 w-9 p-0 font-medium text-error border border-error/30 hover:bg-error/20 focus:bg-error/20 active:bg-error/25"
                                title="网易云音乐"
                                x-ref="popperRef">
                            <i class="fa fa-music fa-solid"></i>
                        </button>
                        <div :class="isShowPopper && 'show'" class="popper-root" x-ref="popperRoot">
                            <div class="popper-box max-w-xs">
                                <div
                                        class="rounded-md text-center border border-slate-150 bg-white p-4 dark:border-navy-600 dark:bg-navy-700"
                                >
                                    <h3
                                            class="text-base font-medium tracking-wide text-slate-700 line-clamp-1 dark:text-navy-100"
                                    >
                                        请使用网易云app扫码登录
                                    </h3>
                                    <div class="avatar h-28 w-28">
                                        <img
                                                alt="qr"
                                                class="qr_img"
                                                src="https://hoppinzq.com/wyy/static/picture/qr-login-34.png"
                                        />
                                    </div>
                                    <p class="mt-1 text-xs text-slate-400 dark:text-navy-300">
                                        <button class="btn ml-1 bg-slate-150 font-medium text-slate-800 hover:bg-slate-200 focus:bg-slate-200 active:bg-slate-200/80 dark:bg-navy-500 dark:text-navy-50 dark:hover:bg-navy-450 dark:focus:bg-navy-450 dark:active:bg-navy-450/90"
                                                onclick="loadQr()">
                                            刷新二维码
                                        </button>
                                    </p>
                                    <p class="mt-1 text-xs text-slate-400 dark:text-navy-300">
                                        如果你在微信打开，请先将本二维码保存本地，然后打开网易云app扫描二维码，PC端请忽略。
                                    </p>
                                </div>
                                <div class="h-4 w-4" data-popper-arrow>
                                    <svg
                                            class="absolute h-4 w-4"
                                            fill="currentColor"
                                            viewBox="0 0 16 9"
                                            xmlns="http://www.w3.org/2000/svg"
                                    >
                                        <path
                                                class="text-slate-150 dark:text-navy-600"
                                                d="M1.5 8.357s-.48.624 2.754-4.779C5.583 1.35 6.796.01 8 0c1.204-.009 2.417 1.33 3.76 3.578 3.253 5.43 2.74 4.78 2.74 4.78h-13z"
                                        />
                                        <path
                                                class="text-white dark:text-navy-700"
                                                d="M0 9s1.796-.017 4.67-4.648C5.853 2.442 6.93 1.293 8 1.286c1.07-.008 2.147 1.14 3.343 3.066C14.233 9.006 15.999 9 15.999 9H0z"
                                        />
                                    </svg>
                                </div>
                            </div>
                        </div>
                    </div>
                    <a class="btn h-9 w-9 bg-warning p-0 font-medium text-white hover:bg-warning-focus hover:shadow-lg hover:shadow-info/50 focus:bg-warning-focus active:bg-warning-focus/90"
                       href="https://api.weibo.com/oauth2/authorize?client_id=1901755294&response_type=code&redirect_uri=http%3A%2F%2F175.178.115.82%3A8812%2Foauth2%2Fweibo%3Ftype%3Dweibo"
                       id="auth_weibo"
                       title="微博">
                        <i class="fa-solid fa fa-weibo"></i>
                    </a>
                    <!--                    <a title="QQ" class="btn h-9 w-9 bg-slate-150 p-0 font-medium text-slate-800 hover:bg-slate-200 hover:shadow-lg hover:shadow-slate-200/50 focus:bg-slate-200 focus:shadow-lg focus:shadow-slate-200/50 active:bg-slate-200/80 dark:bg-navy-500 dark:text-navy-50 dark:hover:bg-navy-450 dark:hover:shadow-navy-450/50 dark:focus:bg-navy-450 dark:focus:shadow-navy-450/50 dark:active:bg-navy-450/90">-->
                    <!--                        <i class="fa fa-qq fa-solid"></i>-->
                    <!--                    </a>-->
                    <a class="btn h-9 w-9 bg-slate-150 p-0 font-medium text-slate-800 hover:bg-slate-200 hover:shadow-lg hover:shadow-slate-200/50 focus:bg-slate-200 focus:shadow-lg focus:shadow-slate-200/50 active:bg-slate-200/80 dark:bg-navy-500 dark:text-navy-50 dark:hover:bg-navy-450 dark:hover:shadow-navy-450/50 dark:focus:bg-navy-450 dark:focus:shadow-navy-450/50 dark:active:bg-navy-450/90"
                       href="https://github.com/login/oauth/authorize?client_id=Ov23liqvcaNAEmveelTJ&redirect_uri=http://175.178.115.82:8812/oauth2/github?type=github"
                       id="auth_github"
                       title="Github">
                        <i class="fa fa-github fa-solid"></i>
                    </a>
                </div>
            </div>
            <div class="mt-2 flex justify-center text-xs text-slate-400 dark:text-navy-300">
                <div x-data="{privacyPolicyModal:false}">
                    <a @click="privacyPolicyModal = true" class="border-b border-dotted border-current pb-0.5 font-medium text-primary outline-none transition-colors duration-300 hover:text-primary/70 focus:text-primary/70 dark:text-accent-light dark:hover:text-accent-light/70 dark:focus:text-accent-light/70"
                       href="#">
                        隐私政策
                    </a>
                    <template x-teleport="#x-teleport-target">
                        <div
                                @keydown.window.escape="privacyPolicyModal = false"
                                class="fixed inset-0 z-[100] flex flex-col items-center justify-center overflow-hidden px-4 py-6 sm:px-5"
                                role="dialog"
                                x-show="privacyPolicyModal"
                        >
                            <div
                                    @click="privacyPolicyModal = false"
                                    class="absolute inset-0 bg-slate-900/60 transition-opacity duration-300"
                                    x-show="privacyPolicyModal"
                                    x-transition:enter="ease-out"
                                    x-transition:enter-end="opacity-100"
                                    x-transition:enter-start="opacity-0"
                                    x-transition:leave="ease-in"
                                    x-transition:leave-end="opacity-0"
                                    x-transition:leave-start="opacity-100"
                            ></div>
                            <div
                                    class="relative w-full max-w-lg origin-top rounded-lg bg-white transition-all duration-300 dark:bg-navy-700"
                                    x-show="privacyPolicyModal"
                                    x-transition:enter="easy-out"
                                    x-transition:enter-end="opacity-100 scale-100"
                                    x-transition:enter-start="opacity-0 scale-95"
                                    x-transition:leave="easy-in"
                                    x-transition:leave-end="opacity-0 scale-95"
                                    x-transition:leave-start="opacity-100 scale-100"
                            >
                                <div
                                        class="flex justify-between rounded-t-lg bg-slate-200 px-4 py-3 dark:bg-navy-800 sm:px-5"
                                >
                                    <h3 class="text-base font-medium text-slate-700 dark:text-navy-100">
                                        隐私政策
                                    </h3>
                                    <button
                                            @click="privacyPolicyModal = !privacyPolicyModal"
                                            class="btn -mr-1.5 h-7 w-7 rounded-full p-0 hover:bg-slate-300/20 focus:bg-slate-300/20 active:bg-slate-300/25 dark:hover:bg-navy-300/20 dark:focus:bg-navy-300/20 dark:active:bg-navy-300/25"
                                    >
                                        <svg
                                                class="h-4.5 w-4.5"
                                                fill="none"
                                                stroke="currentColor"
                                                stroke-width="2"
                                                viewBox="0 0 24 24"
                                                xmlns="http://www.w3.org/2000/svg"
                                        >
                                            <path
                                                    d="M6 18L18 6M6 6l12 12"
                                                    stroke-linecap="round"
                                                    stroke-linejoin="round"
                                            ></path>
                                        </svg>
                                    </button>
                                </div>
                                <div class="px-4 py-4 sm:px-5">
                                    <p>
                                        我们注重保护用户个人信息及个人隐私。
                                        本隐私条款解释了用户个人信息收集和使用的有关情况，
                                        您应仔细阅读并确认您已充分理解且同意本条款内容。
                                        如果您不同意本隐私条款的任何内容，您应立即停止使用我们的服务。
                                        当您使用我们供的任一服务时，即表示您已同意我们按照本隐私条款来合法收集、使用和保护您的个人信息。
                                    </p>
                                    <h2 class="my-2 font-medium tracking-wide text-slate-700 line-clamp-1 dark:text-navy-100 lg:text-base">
                                        本隐私条款包括以下内容：</h2>
                                    <ul class="list-inside list-disc font-medium text-slate-800 dark:text-navy-100">
                                        <li>
                                            我们会使用cookie技术
                                        </li>
                                        <li>
                                            除了基本信息外，我们不会保存您的其他信息
                                        </li>
                                        <li>
                                            我们会加密保存您的基本信息
                                        </li>
                                    </ul>
                                    <p class="mt-4">
                                        注册和登录并不是必须的，但是你要知道http是无状态的。因此某些功能必须通过一个唯一标识，来维护与您本人的连接。
                                        此时，通过登录获取一个标识是很有必要的。
                                    </p>
                                    <label class="my-3 inline-flex items-center space-x-2">
                                        <input
                                                checked
                                                class="form-checkbox is-basic h-5 w-5 rounded border-slate-400/70 checked:bg-primary checked:border-primary hover:border-primary focus:border-primary disabled:pointer-events-none disabled:opacity-60 disabled:border-slate-300 dark:border-navy-400 dark:checked:bg-accent dark:checked:border-accent dark:hover:border-accent dark:focus:border-accent dark:disabled:border-navy-450"
                                                disabled
                                                type="checkbox"
                                        />
                                        <p>允许我使用cookie</p>
                                    </label>
                                    <label class="my-3 ml-4 inline-flex items-center space-x-2">
                                        <input
                                                checked
                                                class="form-checkbox is-basic h-5 w-5 rounded border-slate-400/70 checked:bg-primary checked:border-primary hover:border-primary focus:border-primary disabled:pointer-events-none disabled:opacity-60 disabled:border-slate-300 dark:border-navy-400 dark:checked:bg-accent dark:checked:border-accent dark:hover:border-accent dark:focus:border-accent dark:disabled:border-navy-450"
                                                disabled
                                                type="checkbox"
                                        />
                                        <p>我同意该隐私条款</p>
                                    </label>
                                    <div class="mt-4 space-y-4">
                                        <div class="space-x-2 text-right">
                                            <button
                                                    @click="privacyPolicyModal = false"
                                                    class="btn min-w-[7rem] rounded-full border border-slate-300 font-medium text-slate-800 hover:bg-slate-150 focus:bg-slate-150 active:bg-slate-150/80 dark:border-navy-450 dark:text-navy-50 dark:hover:bg-navy-500 dark:focus:bg-navy-500 dark:active:bg-navy-500/90"
                                            >
                                                关闭
                                            </button>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </template>
                </div>
                <div class="mx-3 my-1 w-px bg-slate-200 dark:bg-navy-500"></div>
                <a href="#">Copyright © HOPPINZQ.</a>
                <div class="mx-3 my-1 w-px bg-slate-200 dark:bg-navy-500"></div>
                <div x-data="{friendLinkModal:false}">
                    <a @click="friendLinkModal = true" class="border-b border-dotted border-current pb-0.5 font-medium text-success outline-none transition-colors duration-300 hover:text-success/70 focus:text-success/70 dark:text-accent-light dark:hover:text-accent-light/70 dark:focus:text-accent-light/70"
                       href="#">
                        友情链接
                    </a>
                    <template x-teleport="#x-teleport-target">
                        <div
                                @keydown.window.escape="friendLinkModal = false"
                                class="fixed inset-0 z-[100] flex flex-col items-center justify-center overflow-hidden px-4 py-6 sm:px-5"
                                role="dialog"
                                x-show="friendLinkModal"
                        >
                            <div
                                    @click="friendLinkModal = false"
                                    class="absolute inset-0 bg-slate-900/60 transition-opacity duration-300"
                                    x-show="friendLinkModal"
                                    x-transition:enter="ease-out"
                                    x-transition:enter-end="opacity-100"
                                    x-transition:enter-start="opacity-0"
                                    x-transition:leave="ease-in"
                                    x-transition:leave-end="opacity-0"
                                    x-transition:leave-start="opacity-100"
                            ></div>
                            <div
                                    class="relative w-full max-w-2xl origin-bottom rounded-lg bg-white pb-4 transition-all duration-300 dark:bg-navy-700"
                                    x-show="friendLinkModal"
                                    x-transition:enter="easy-out"
                                    x-transition:enter-end="opacity-100 scale-100"
                                    x-transition:enter-start="opacity-0 scale-95"
                                    x-transition:leave="easy-in"
                                    x-transition:leave-end="opacity-0 scale-95"
                                    x-transition:leave-start="opacity-100 scale-100"
                            >
                                <div
                                        class="flex justify-between rounded-t-lg bg-slate-200 px-4 py-3 dark:bg-navy-800 sm:px-5"
                                >
                                    <h3 class="text-base font-medium text-slate-700 dark:text-navy-100">
                                        友情链接
                                    </h3>
                                    <button
                                            @click="friendLinkModal = !friendLinkModal"
                                            class="btn -mr-1.5 h-7 w-7 rounded-full p-0 hover:bg-slate-300/20 focus:bg-slate-300/20 active:bg-slate-300/25 dark:hover:bg-navy-300/20 dark:focus:bg-navy-300/20 dark:active:bg-navy-300/25"
                                    >
                                        <svg
                                                class="h-4.5 w-4.5"
                                                fill="none"
                                                stroke="currentColor"
                                                stroke-width="2"
                                                viewBox="0 0 24 24"
                                                xmlns="http://www.w3.org/2000/svg"
                                        >
                                            <path
                                                    d="M6 18L18 6M6 6l12 12"
                                                    stroke-linecap="round"
                                                    stroke-linejoin="round"
                                            ></path>
                                        </svg>
                                    </button>
                                </div>
                                <div class="is-scrollbar-hidden min-w-full overflow-x-auto">
                                    <table class="w-full text-left">
                                        <thead>
                                        <tr
                                                class="border-y border-transparent border-b-slate-200 dark:border-b-navy-500"
                                        >
                                            <th
                                                    class="whitespace-nowrap px-3 py-3 font-semibold uppercase text-slate-800 dark:text-navy-100 lg:px-5"
                                            >
                                                #
                                            </th>
                                            <th
                                                    class="whitespace-nowrap px-3 py-3 font-semibold uppercase text-slate-800 dark:text-navy-100 lg:px-5"
                                            >
                                                名称
                                            </th>
                                            <th
                                                    class="whitespace-nowrap px-3 py-3 font-semibold uppercase text-slate-800 dark:text-navy-100 lg:px-5"
                                            >
                                                状态
                                            </th>
                                            <th
                                                    class="whitespace-nowrap px-3 py-3 font-semibold uppercase text-slate-800 dark:text-navy-100 lg:px-5"
                                            >
                                                网址
                                            </th>
                                        </tr>
                                        </thead>
                                        <tbody>
                                        <tr
                                                class="border-y border-transparent border-b-slate-200 dark:border-b-navy-500"
                                        >
                                            <td class="whitespace-nowrap px-4 py-3 sm:px-5">1</td>
                                            <td class="whitespace-nowrap px-4 py-3 sm:px-5">
                                                hoppinzq年度总结
                                            </td>
                                            <td class="whitespace-nowrap px-4 py-3 sm:px-5">
                                                <div
                                                        class="badge space-x-2.5 rounded-full bg-success/10 text-success dark:bg-accent-light/15 dark:text-accent-light"
                                                >
                                                    <div class="h-2 w-2 rounded-full bg-current"></div>
                                                    <span>可用</span>
                                                </div>
                                            </td>
                                            <td class="whitespace-nowrap px-4 py-3 sm:px-5">https://hoppinzq.com</td>
                                        </tr>
                                        <tr
                                                class="border-y border-transparent border-b-slate-200 dark:border-b-navy-500"
                                        >
                                            <td class="whitespace-nowrap px-4 py-3 sm:px-5">2</td>
                                            <td class="whitespace-nowrap px-4 py-3 sm:px-5">
                                                hoppin博客
                                            </td>
                                            <td class="whitespace-nowrap px-4 py-3 sm:px-5">
                                                <div
                                                        class="badge space-x-2.5 rounded-full bg-error/10 text-error dark:bg-error/15"
                                                >
                                                    <div class="h-2 w-2 rounded-full bg-current"></div>
                                                    <span>不可用</span>
                                                </div>
                                            </td>
                                            <td class="whitespace-nowrap px-4 py-3 sm:px-5">http://hoppin.cn</td>
                                        </tr>
                                        </tbody>
                                    </table>
                                </div>
                                <div class="text-center">
                                    <button
                                            class="btn mt-4 border border-primary/30 bg-primary/10 font-medium text-primary hover:bg-primary/20 focus:bg-primary/20 active:bg-primary/25 dark:border-accent-light/30 dark:bg-accent-light/10 dark:text-accent-light dark:hover:bg-accent-light/20 dark:focus:bg-accent-light/20 dark:active:bg-accent-light/25"
                                    >
                                        展示所有
                                    </button>
                                </div>
                            </div>
                        </div>
                    </template>
                </div>
            </div>
            <div class="mt-2 flex justify-center text-xs text-slate-400 dark:text-navy-300">
                <a href="https://beian.miit.gov.cn/" target="_blank">ICP主体备案号:鲁ICP备2021023310号-1</a>
            </div>
        </div>
    </main>
</div>
<div x-data="{sliderCaptchaModal:false}">
    <button
            @click="sliderCaptchaModal = true"
            class="btn btn-base-modal bg-slate-150 hidden font-medium text-slate-800 hover:bg-slate-200 focus:bg-slate-200 active:bg-slate-200/80 dark:bg-navy-500 dark:text-navy-50 dark:hover:bg-navy-450 dark:focus:bg-navy-450 dark:active:bg-navy-450/90"
    >
        sliderCaptchaModal
    </button>
    <template x-teleport="#x-teleport-target">
        <div
                @keydown.window.escape="sliderCaptchaModal = false"
                class="fixed inset-0 z-[100] flex flex-col items-center justify-center overflow-hidden px-4 py-6 sm:px-5"
                role="dialog"
                x-show="sliderCaptchaModal"
        >
            <div
                    @click="sliderCaptchaModal = false"
                    class="absolute inset-0 bg-slate-900/60 transition-opacity duration-300"
                    x-show="sliderCaptchaModal"
                    x-transition:enter="ease-out"
                    x-transition:enter-end="opacity-100"
                    x-transition:enter-start="opacity-0"
                    x-transition:leave="ease-in"
                    x-transition:leave-end="opacity-0"
                    x-transition:leave-start="opacity-100"
            ></div>
            <div
                    class="base-modal-content relative max-w-lg rounded-lg bg-white px-4 py-1 pb-6 text-center transition-opacity duration-300 dark:bg-navy-700 sm:px-5"
                    x-show="sliderCaptchaModal"
                    x-transition:enter="ease-out"
                    x-transition:enter-end="opacity-100"
                    x-transition:enter-start="opacity-0"
                    x-transition:leave="ease-in"
                    x-transition:leave-end="opacity-0"
                    x-transition:leave-start="opacity-100"
            >
                <div class="my-1 flex h-8 items-center justify-between">
                    <h2
                            class="font-medium tracking-wide text-slate-700 line-clamp-1 dark:text-navy-100 lg:text-base"
                    >
                        你是人类吗？
                    </h2>

                    <button
                            @click="sliderCaptchaModal = !sliderCaptchaModal"
                            class="btn btn-slider-captcha-modal-close -mr-1.5 h-7 w-7 rounded-full p-0 hover:bg-slate-300/20 focus:bg-slate-300/20 active:bg-slate-300/25 dark:hover:bg-navy-300/20 dark:focus:bg-navy-300/20 dark:active:bg-navy-300/25"
                    >
                        <svg
                                class="h-4.5 w-4.5"
                                fill="none"
                                stroke="currentColor"
                                stroke-width="2"
                                viewBox="0 0 24 24"
                                xmlns="http://www.w3.org/2000/svg"
                        >
                            <path
                                    d="M6 18L18 6M6 6l12 12"
                                    stroke-linecap="round"
                                    stroke-linejoin="round"
                            />
                        </svg>
                    </button>
                </div>
                <div id="captcha"></div>
            </div>
        </div>
    </template>
</div>
<div id="x-teleport-target"></div>
<script>window.addEventListener("DOMContentLoaded", () => Alpine.start());</script>
<script src="static/js/config.js"></script>
<script src="https://hoppinzq.com/static/js/vendor/jquery-3.5.1.min.js"></script>
<script src="static/js/zq.js"></script>
<script src="static/js/crypto-js.min.js"></script>
<script src="static/js/longbow.slidercaptcha.js"></script>
<script src="static/js/jquery.cookie.js"></script>
<script src="static/js/toastify.js"></script>
<script src="static/js/zjax.js"></script>
<script>
    // 33cbcabe83c6d341bac63945f340a6f9a0254df0135819d0f6a9ba18e4ab9f2c
    var param = {};
    var qrkey;
    var qrTime;
    var redirectUrl = null;
    $(function () {
        initAuth();
        initCookie();
        initPlugin();
        initEvent();
        initWyy();
    })

    function initAuth() {
        if (__zqApi.getWebURLKey("redirect") != null) {
            let reurl = __zqApi.getWebURLKey("redirect");
            if (reurl.indexOf("?zcode") != -1 || reurl.indexOf("&zcode") != -1) {
                __zqApi.removeQueryParam(reurl, "zcode");
            }
            if (reurl.indexOf("?zcode") != -1) {
                reurl = reurl.substr(0, reurl.lastIndexOf("?zcode"));
            }
            redirectUrl = reurl;
            $("#auth_gitee").attr("href", $("#auth_gitee").attr("href") + "&state=" + redirectUrl);
            $("#auth_weibo").attr("href", $("#auth_weibo").attr("href") + "&state=" + redirectUrl);
            $("#auth_github").attr("href", $("#auth_github").attr("href") + "&state=" + redirectUrl);
        }
        let code = __zqApi.getWebURLKey("code");
        let type = __zqApi.getWebURLKey("type");
        if (code != null && type != null) {
            if (type == "gitee") {
                $.zjax({
                    type: "get",
                    url: auth_proxy,
                    zqMethod: "createGiteeUser",
                    zqParams: JSON.stringify({
                        code: code
                    }),
                    beforeSend: function () {
                        $(".model-loader").css("display", "block");
                    },
                    complete: function () {
                        $(".model-loader").css("display", "none");
                    },
                    success: function (response) {
                        let res = JSON.parse(response);
                        if (res.code == 200) {
                            Toastify({
                                text: "登录成功",
                                duration: 3000,
                                close: false,
                                style: {
                                    "color": "#ffffff"
                                },
                                gravity: "top",
                                className: "toastify-center bg-success",
                            }).showToast();
                            if (redirectUrl != null) {
                                if (redirectUrl.indexOf("?") != -1) {
                                    redirectUrl += "&zcode=" + res.data;
                                } else {
                                    redirectUrl += "?zcode=" + res.data;
                                }
                                window.location.replace(redirectUrl);
                            } else {
                                window.location.replace(location_href + "?zcode=" + res.data);
                            }
                        } else {
                            Toastify({
                                text: "gitee认证登录失败，请使用其他方式登录或重试",
                                duration: 3000,
                                close: false,
                                style: {
                                    "color": "#ffffff"
                                },
                                gravity: "top",
                                className: "toastify-center bg-error",
                            }).showToast();
                        }
                    }
                })
            } else if (type == "weibo") {
                $.zjax({
                    type: "get",
                    url: auth_proxy,
                    zqMethod: "createWeiboUser",
                    zqParams: JSON.stringify({
                        code: code
                    }),
                    beforeSend: function () {
                        $(".model-loader").css("display", "block");
                    },
                    complete: function () {
                        $(".model-loader").css("display", "none");
                    },
                    success: function (response) {
                        let res = JSON.parse(response);
                        if (res.code == 200) {
                            Toastify({
                                text: "登录成功",
                                duration: 3000,
                                close: false,
                                style: {
                                    "color": "#ffffff"
                                },
                                gravity: "top",
                                className: "toastify-center bg-success",
                            }).showToast();
                            if (redirectUrl != null) {
                                if (redirectUrl.indexOf("?") != -1) {
                                    redirectUrl += "&zcode=" + res.data;
                                } else {
                                    redirectUrl += "?zcode=" + res.data;
                                }
                                window.location.replace(redirectUrl);
                            } else {
                                window.location.replace(location_href + "?zcode=" + res.data);
                            }
                        } else {
                            Toastify({
                                text: "微博认证登录失败，请使用其他方式登录或重试",
                                duration: 3000,
                                close: false,
                                style: {
                                    "color": "#ffffff"
                                },
                                gravity: "top",
                                className: "toastify-center bg-error",
                            }).showToast();
                        }
                    }
                })
            } else if (type == "github") {
                $.zjax({
                    type: "get",
                    url: auth_proxy,
                    zqMethod: "createGithubUser",
                    zqParams: JSON.stringify({
                        code: code
                    }),
                    beforeSend: function () {
                        $(".model-loader").css("display", "block");
                    },
                    complete: function () {
                        $(".model-loader").css("display", "none");
                    },
                    success: function (response) {
                        let res = JSON.parse(response);
                        if (res.code == 200) {
                            Toastify({
                                text: "登录成功",
                                duration: 3000,
                                close: false,
                                style: {
                                    "color": "#ffffff"
                                },
                                gravity: "top",
                                className: "toastify-center bg-success",
                            }).showToast();
                            if (redirectUrl != null) {
                                if (redirectUrl.indexOf("?") != -1) {
                                    redirectUrl += "&zcode=" + res.data;
                                } else {
                                    redirectUrl += "?zcode=" + res.data;
                                }
                                window.location.replace(redirectUrl);
                            } else {
                                window.location.replace(location_href + "?zcode=" + res.data);
                            }
                        } else {
                            Toastify({
                                text: "github认证登录失败，请使用其他方式登录或重试",
                                duration: 3000,
                                close: false,
                                style: {
                                    "color": "#ffffff"
                                },
                                gravity: "top",
                                className: "toastify-center bg-error",
                            }).showToast();
                        }
                    }
                })
            }
        }
    }

    /**
     * 初始化cookie
     */
    function initCookie() {
        let phone = $.cookie(phone_key);
        if (phone && phone != "null") {
            $(".form-input-mobile").val(phone);
            $(".form-checkbox-remember-mobile").prop("checked", true);
        }
    }

    /**
     * 初始化事件
     */
    function initEvent() {
        $(".btn-login-send-message").click(function () {
            let phone = $(".form-input-mobile").val();
            if (!new RegExp(/^[1][345678][0-9]{9}$/).test(phone)) {
                Toastify({
                    text: "手机号格式不正确！",
                    duration: 3000,
                    close: false,
                    style: {
                        "color": "#ffffff"
                    },
                    gravity: "top",
                    className: "toastify-center bg-error",
                }).showToast();
                $(".form-input-mobile").focus();
                return;
            }
            $(".btn-base-modal").click();
            param = {
                type: 0,
                phone: phone,
                code: null,
                isR: null
            }
        })
        $(".btn-login").click(function () {
            let phone = $(".form-input-mobile").val();
            if (!new RegExp(/^[1][3456789][0-9]{9}$/).test(phone)) {
                Toastify({
                    text: "手机号格式不正确！",
                    duration: 3000,
                    close: false,
                    style: {
                        "color": "#ffffff"
                    },
                    gravity: "top",
                    className: "toastify-center bg-error",
                }).showToast();
                $(".form-input-mobile").focus();
                return;
            }
            let code = $(".form-input-code").val();
            if (!new RegExp(/^[-]{0,1}[0-9]{6}$/).test(code)) {
                Toastify({
                    text: "验证码格式不正确！",
                    duration: 3000,
                    close: false,
                    style: {
                        "color": "#ffffff"
                    },
                    gravity: "top",
                    className: "toastify-center bg-error",
                }).showToast();
                $(".form-input-code").focus();
                return;
            }
            let isR = $(".form-checkbox-remember-mobile").prop("checked");
            $(".btn-base-modal").click();
            param = {
                type: 1,
                phone: phone,
                code: code,
                isR: isR
            }
        })
    }

    /**
     * 初始化插件
     */
    function initPlugin() {
        initSlider()
    }

    function initSlider() {
        $('#captcha').sliderCaptcha({
            repeatIcon: 'fa fa-redo',
            setSrc: function () {
                return 'static/image/ver-' + Math.round((Math.random() * 2) + 1) + '.png';
            },
            onSuccess: function () {
                $(".btn-slider-captcha-modal-close").click();
                if (param.type == 0) {
                    $.zjax({
                        type: "post",
                        url: `${auth_proxy}`,
                        zqMethod: "sendMobileCode",
                        zqParams: JSON.stringify({
                            "phone": param.phone
                        }),
                        success: function (response) {
                            let res = JSON.parse(response);
                            if (res.code == 200) {
                                Toastify({
                                    text: "短信已发送，请留意手机，60秒后可重新发送。",
                                    duration: 3000,
                                    close: false,
                                    style: {
                                        "color": "#ffffff"
                                    },
                                    className: "toastify-center bg-info",
                                    gravity: "top"
                                }).showToast();
                                let ct = 60;
                                $(".btn-login-send-message").addClass("disabled:pointer-events-none disabled:select-none disabled:opacity-60")
                                    .prop('disabled', true);
                                let t1 = window.setInterval(function () {
                                    $(".btn-login-send-message").text(ct + "s后重发");
                                    ct--;
                                    if (ct == 0) {
                                        $(".btn-login-send-message").removeClass("disabled:pointer-events-none disabled:select-none disabled:opacity-60")
                                            .text("发送短信").prop('disabled', false);
                                        clearInterval(t1);
                                    }
                                }, 1000);
                            } else {
                                Toastify({
                                    text: res.msg,
                                    duration: 3000,
                                    close: false,
                                    style: {
                                        "color": "#ffffff"
                                    },
                                    gravity: "top",
                                    className: "toastify-center bg-error",
                                }).showToast();
                                // 短信服务停用
                                if (res.code == 5050) {
                                    let code = res.msg.substr(res.msg.indexOf(" ") + 1, 6);
                                    $(".form-input-code").val(code);
                                }
                            }
                        }
                    })
                } else if (param.type == 1) {
                    let data = {
                        mobile: param.phone,
                        code: param.code
                    }
                    $.zjax({
                        url: `${auth_proxy}`,
                        type: "POST",
                        zqMethod: "login",
                        zqParams: JSON.stringify({
                            mobileLoginDto: data
                        }),
                        // xhrFields:{
                        //     withCredentials:true
                        // },
                        contentType: "application/json",
                        success: function (response) {
                            let res = JSON.parse(response);
                            if (res.code == 200) {
                                if (param.isR) {
                                    $.cookie(phone_key, param.phone, {expires: 7, path: "/"});
                                } else {
                                    $.cookie(phone_key, null);
                                }
                                Toastify({
                                    text: "登录成功",
                                    duration: 3000,
                                    close: false,
                                    style: {
                                        "color": "#ffffff"
                                    },
                                    gravity: "top",
                                    className: "toastify-center bg-success",
                                }).showToast();
                                if (__zqApi.getWebURLKey("redirect") != null) {
                                    let reurl = __zqApi.getWebURLKey("redirect");
                                    if (reurl.indexOf("?zcode") != -1 || reurl.indexOf("&zcode") != -1) {
                                        __zqApi.removeQueryParam(reurl, "zcode");
                                    }
                                    if (reurl.indexOf("?zcode") != -1) {
                                        reurl = reurl.substr(0, reurl.lastIndexOf("?zcode"))
                                    }
                                    if (reurl.indexOf("?") != -1) {
                                        reurl += "&zcode=" + res.data;
                                    } else {
                                        reurl += "?zcode=" + res.data;
                                    }
                                    window.location.replace(reurl);
                                } else {
                                    window.location.replace(location_href + "?zcode=" + res.data);
                                }
                            } else {
                                Toastify({
                                    text: res.msg,
                                    duration: 3000,
                                    close: false,
                                    style: {
                                        "color": "#ffffff"
                                    },
                                    gravity: "top",
                                    className: "toastify-center bg-error",
                                }).showToast();
                            }
                        },
                        error: function () {

                        },
                        complete: function () {
                            //$(".btn-slider-captcha-modal-close").click();
                        }
                    });
                }

            },
            onFail: function () {

            }
        });
    }

    function initWyy() {
        $(".btn-wyy-login").click(function () {
            loadQr();
        })
    }

    function loadQr() {
        $.get(`${wyy_server}/login/qr/key?timerstamp=${Date.now()}`, function (response) {
            if (response && response.code == 200 && response.data.code == 200) {
                qrkey = response.data.unikey;
                $.get(`${wyy_server}/login/qr/create?key=${qrkey}&qrimg=true&timerstamp=${Date.now()}`, function (responseQr) {
                    if (responseQr.code == 200) {
                        let qrimg = responseQr.data.qrimg;
                        $(".qr_img").attr("src", qrimg);
                        checkQr();
                    }
                })
            }
        })
    }

    function checkQr() {
        if (qrTime) {
            clearInterval(qrTime);
        }
        qrTime = setInterval(function () {
            $.get(`${wyy_server}/login/qr/check?key=${qrkey}&timerstamp=${Date.now()}`, function (response) {
                //801等待扫描
                if (response.code === 800) {
                    loadQr();
                }
                if (response.code === 803) {
                    checkState2(response);
                    // 这一步会返回cookie
                    $("#waitGetState").click();
                    clearInterval(qrTime);
                    localStorage.setItem('wyy_cookie', response.cookie);
                }
            })
        }, 3000);
    }

    function checkState2(response) {
        $.ajax({
            url: `${wyy_server}/login/status?timerstamp=${Date.now()}`,
            type: "post",
            data: {
                cookie: response.cookie
            },
            beforeSend: function () {
                Toastify({
                    text: "授权登录成功，正在检查登录状态...",
                    duration: 3000,
                    close: false,
                    style: {
                        "color": "#ffffff"
                    },
                    gravity: "top",
                    className: "toastify-center bg-success",
                }).showToast();
            },
            success: function (response) {
                if (response.data.account.status >= 0) {
                    localStorage.setItem('wyy_id', response.data.account.id);
                    setTimeout(function () {
                        Toastify({
                            text: "检查登录状态完成，即将登录...",
                            duration: 3000,
                            close: false,
                            style: {
                                "color": "#ffffff"
                            },
                            gravity: "top",
                            className: "toastify-center bg-success",
                        }).showToast();
                        $.zjax({
                            url: `${auth_proxy}`,
                            type: "POST",
                            zqMethod: "loginByWyy",
                            zqParams: JSON.stringify({
                                "wyy": JSON.stringify(response.data.profile)
                            }),
                            contentType: "application/json",
                            success: function (response) {
                                let res = JSON.parse(response);
                                if (res.code == 200) {
                                    Toastify({
                                        text: "登录成功",
                                        duration: 3000,
                                        close: false,
                                        style: {
                                            "color": "#ffffff"
                                        },
                                        gravity: "top",
                                        className: "toastify-center bg-success",
                                    }).showToast();
                                    if (__zqApi.getWebURLKey("redirect") != null) {
                                        let reurl = __zqApi.getWebURLKey("redirect");
                                        if (reurl.indexOf("?zcode") != -1 || reurl.indexOf("&zcode") != -1) {
                                            __zqApi.removeQueryParam(reurl, "zcode");
                                        }
                                        if (reurl.indexOf("?zcode") != -1) {
                                            reurl = reurl.substr(0, reurl.lastIndexOf("?zcode"))
                                        }
                                        if (reurl.indexOf("?") != -1) {
                                            reurl += "&zcode=" + res.data;
                                        } else {
                                            reurl += "?zcode=" + res.data;
                                        }
                                        window.location.replace(reurl);
                                    } else {
                                        window.location.replace(location_href + "?zcode=" + res.data);
                                    }
                                } else {
                                    Toastify({
                                        text: res.msg,
                                        duration: 3000,
                                        close: false,
                                        style: {
                                            "color": "#ffffff"
                                        },
                                        gravity: "top",
                                        className: "toastify-center bg-error",
                                    }).showToast();
                                }
                            },
                            error: function () {

                            },
                            complete: function () {
                                //$(".btn-slider-captcha-modal-close").click();
                            }
                        });
                    }, 2000)
                } else {
                    Toastify({
                        text: "检查登录状态异常，请用其他方式登录",
                        duration: 3000,
                        close: false,
                        style: {
                            "color": "#ffffff"
                        },
                        gravity: "top",
                        className: "toastify-center bg-error",
                    }).showToast();
                }
            },
            error: function () {
                Toastify({
                    text: "检查登录状态异常，请用其他方式登录",
                    duration: 3000,
                    close: false,
                    style: {
                        "color": "#ffffff"
                    },
                    gravity: "top",
                    className: "toastify-center bg-error",
                }).showToast();
            }
        })
    }

</script>
</body>
</html>
